package com.yssoft.mapper.core;


import com.yssoft.entity.core.TEnterprise;
import com.yssoft.entity.core.TFunctions;
import com.yssoft.entity.core.TPersonnel;

import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface TPersonnelMapper  extends Mapper<TPersonnel> {
    /**
     * 条件查询人员信息
     * @param map
     * @return
     */
    List<Map<String,Object>> selectAllSql(Map map);
    
    /**
     * 条件查询人员信息总条数
     * @param map
     * @return
     */
    int selectCountSql(Map map);
    
    /**
     * 使用手机号查询出人员
     * @param phone
     * @return
     */
    TPersonnel selectByPhone(String phone);
    
    /**
     * 查询当前企业人员
     * @param currentCompanyId
     * @return
     */
    List<TPersonnel> selectMyEntPerson(Integer currentCompanyId);
    /**
     * 查询当前企业人员个数
     * @param currentCompanyId
     * @return
     */
    int selectMyEntPersonCount(Integer currentCompanyId);
    
    /**
     * @方法名称: insertPersonnelReturnId
     * @功能描述: 插入员工返回id
     * @作者: 洪丰
     * @创建时间: 2018年4月29日 上午10:59:21
     * @param map
     * @return Integer
     */
    Integer insertPersonnelReturnId(TPersonnel entity);
    /**
     * 根据企业id查询人员列表
     * @param param
     * @return
     */
	List<Map<String, Object>> selectPersonForWarehouse(HashMap<String, Object> param);
    /**
     * 获取人员证照预警数据
     * 王永宁
     * @param page
     * @param limit
     * @return
     */
	List<Map<String, Object>> selectAllSqlForWarning(Map<String, Object> param);
    /**
     * 获取人员证照预警数据
     * 王永宁
     * @param page
     * @param limit
     * @return
     */
	int selectCountSqlForWarning(Map<String, Object> param);
	/**
	 * 获取人员证照预警数据-new
	 * 王永宁
	 * @param page
	 * @param limit
	 * @return
	 */
	List<Map<String, Object>> selectAllSqlForWarningNew(Map<String, Object> param);
	/**
	 * 获取人员证照预警数据-new
	 * 王永宁
	 * @param page
	 * @param limit
	 * @return
	 */
	int selectCountSqlForWarningNew(Map<String, Object> param);
    
    
    /**
     * @方法名: selectByEntList
     * @创建人: 陈翼东
     * @时间: 18-6-14 下午2:10
     * @参数: [entList]
     * @返回值: java.util.List<com.yssoft.entity.core.TPersonnel>
     * @说明: 查询企业中的人员信息
     */
    Map<String,Object>  selectByEntCount(@Param("entList") List<TEnterprise> entList);
    /**
     * @方法名: selectByEntList
     * @创建人: 陈翼东
     * @时间: 18-6-14 下午2:10
     * @参数: [entList]
     * @返回值: java.util.List<com.yssoft.entity.core.TPersonnel>
     * @说明: 查询企业中的人员信息
     */
    Map<String,Object>  selectByEntCurrentDateCount(Map<String,Object> params);
}